﻿namespace Blip.API
{
    /// <summary>
    /// Interfejs klasy-fabryki produkującej obiekty <see cref="IBlipAPI"/>.
    /// </summary>
    /// <seealso cref="IBlipAPI"/>
    public interface IBlipFactory
    {
        /// <summary>
        /// Tworzy obiekt bez uwierzytelnienia.
        /// </summary>
        /// <returns>Obiekt implementujący interfejs <see cref="IBlipAPI"/></returns>
        IBlipAPI Create();

        /// <summary>
        /// Tworzy obiekt z uwierzytelnieniem.
        /// </summary>
        /// <param name="username">Nazwa użytkownika</param>
        /// <param name="password">Hasło potrzebne do uwierzytelnienia</param>
        /// <returns>Obiekt implementujący interfejs <see cref="IBlipAPI"/></returns>
        IBlipAPI Create(string username, string password);
    }
}
